import request from '@/utils/request'

/**
 * 获取消息任务列表
 * @param {Object} params - 查询参数
 * @returns {Promise}
 */
export function getMessageTasks(params) {
    return request({
        url: '/api/message-tasks',
        method: 'get',
        params
    })
}

/**
 * 获取单个消息任务
 * @param {String} id - 任务ID
 * @returns {Promise}
 */
export function getMessageTask(id) {
    return request({
        url: `/api/message-tasks/${id}`,
        method: 'get'
    })
}

/**
 * 创建消息任务
 * @param {Object} data - 任务数据
 * @param {String} data.name - 任务名称
 * @param {String} data.type - 消息类型 (text/forward)
 * @param {String} data.content - 消息内容 (type为text时)
 * @param {String} data.originalMessageId - 原始消息ID (type为forward时)
 * @param {String} data.targetType - 目标类型 (group/user/all)
 * @param {Array} data.targetIds - 目标ID数组
 * @param {Date} data.scheduledTime - 计划发送时间
 * @param {String} data.repeatType - 重复类型 (none/daily/weekly/monthly)
 * @param {Boolean} data.sendNow - 是否立即发送
 * @returns {Promise}
 */
export function createMessageTask(data) {
    return request({
        url: '/api/message-tasks',
        method: 'post',
        data
    })
}

/**
 * 更新消息任务
 * @param {String} id - 任务ID
 * @param {Object} data - 要更新的数据
 * @returns {Promise}
 */
export function updateMessageTask(id, data) {
    return request({
        url: `/api/message-tasks/${id}`,
        method: 'put',
        data
    })
}

/**
 * 删除消息任务
 * @param {String} id - 任务ID
 * @returns {Promise}
 */
export function deleteMessageTask(id) {
    return request({
        url: `/api/message-tasks/${id}`,
        method: 'delete'
    })
}

/**
 * 获取可用的目标(群组和用户)
 * @returns {Promise}
 */
export function getAvailableTargets() {
    return request({
        url: '/api/message-tasks/targets/available',
        method: 'get'
    })
} 